
package com.platform.modules.mall.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 优惠券列表实体
 *
 * @author
 * @date 2020-04-10 13:52:21
 */
@Data
@TableName("MALL_COUPON")
public class MallCouponEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value="主键")
    @TableId
    private String id;
    /**
     * 优惠券标题
     */
    @ApiModelProperty(value="优惠券标题")
    private String title;
    /**
     * 优惠券编号
     */
    @ApiModelProperty(value="优惠券编号")
    private String couponSn;
    /**
     * 优惠券类型：1:代金券 2:折扣
     */
    @ApiModelProperty(value="优惠券类型：1:代金券 2:折扣")
    private Integer couponType;
    /**
     * 最低消费金额
     */
    @ApiModelProperty(value="最低消费金额")
    private BigDecimal minPrice;
    /**
     * 优惠金额
     */
    @ApiModelProperty(value="优惠金额")
    private BigDecimal subPrice;
    /**
     * 折扣率
     */
    @ApiModelProperty(value="折扣率")
    private BigDecimal discount;
    /**
     * 有效期
     */
    @ApiModelProperty(value="有效期")
    private Date beginTime;
    /**
     * 有效期
     */
    @ApiModelProperty(value="有效期")
    private Date endTime;
    /**
     * 可领取时间
     */
    @ApiModelProperty(value="可领取时间")
    private Date beginGetTime;
    /**
     * 可领取时间
     */
    @ApiModelProperty(value="可领取时间")
    private Date endGetTime;
    /**
     * 优惠券数量
     */
    @ApiModelProperty(value="优惠券数量")
    private Integer totalCount;
    /**
     * 已发放数量
     */
    @ApiModelProperty(value="已发放数量")
    private Integer sendCount;
    /**
     * 指定使用类型 0：全场通用券 1：指定商品 2：指定品牌
     */
    @ApiModelProperty(value="指定使用类型 0：全场通用券 1：指定商品 2：指定品牌")
    private Integer limitType;
    /**
     * 每人限领数量
     */
    @ApiModelProperty(value="每人限领数量")
    private Integer limitUser;
    /**
     * 状态 1:正常 2：过期 3：禁用
     */
    @ApiModelProperty(value="状态 1:正常 2：过期 3：禁用")
    private Integer status;
    /**
     * 排序
     */
    @ApiModelProperty(value="排序")
    private Integer sort;
    /**
     * 图片
     */
    @ApiModelProperty(value="图片")
    private String picUrl;
    /**
     * 用户等级ID（用于限制可领取用户）
     */
    @ApiModelProperty(value="用户等级id")
    private String userLevelId;
    /**
     * 每月可重复领取
     */
    @ApiModelProperty(value="每月可重复领取")
    private Boolean isCirculation;
    /**
     * 说明
     */
    @ApiModelProperty(value="说明")
    @TableField("`explain`")
    private String explain;
    /**
     * 用户等级名称
     */
    @ApiModelProperty(value="用户等级")
    @TableField(exist = false)
    private String userLevel;
    /**
     * 指定的商品ID
     */
    @ApiModelProperty(value="指定的商品ID")
    @TableField(exist = false)
    private List<String> goodsIds;
    /**
     * 指定的品牌ID
     */
    @ApiModelProperty(value="指定的品牌ID")
    @TableField(exist = false)
    private List<String> brandIds;
    /**
     *  不可用
     */
    @TableField(exist = false)
    private String notApplicable;
}
